package com.dudu.service;

import java.util.Map;

import com.dudu.bean.AccountBean;
import com.dudu.bean.AppExtendBean;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
/**
 * 语音留言
 * @author 危东
 * @date 2016-5-4
 */
public interface IAudeoNoticeService {

	/**
	 * 发起语音留言
	 * @param appExtendBean 应用信息
	 * @param accountBean 账号信息
	 * @param userIdentify 用户标识
	 * @param caller 主叫号码
	 * @param called 被叫号码
	 * @param content 短信内容
	 * @param schedule_send_time 预定短信发起时间
	 * @param paramMap 
	 * @param completeFileName 文件物理地址
	 * @param push_url sessionid推送地址
	 * @param tts_content 前导音
	 * @param pool_ability_id ISV自定义发起留言使用号码
	 * @param batch_number 	是否一批次		
	 * @param usePlatNbr 强制使用平台号
	 * @param calledJsonArray json数组格式
	 * @param voice_type 套餐类型：70字套餐，140字套餐
	 * @return
	 */
	public JSONObject sendAudeoNotice(AppExtendBean appExtendBean, AccountBean accountBean, String userIdentify, String caller, String called, String content, String schedule_send_time, Map<String, String> paramMap, String completeFileName, String push_url, String tts_content,  String pool_ability_id,String batch_number, String usePlatNbr, JSONArray calledJsonArray, String voice_type);
    /**
     * 发起语音留言
     * @param appExtendBean  应用信息
     * @param accountBean   账号信息
     * @param userIdentify  用户标识
     * @param caller        主叫号码
     * @param called        被叫号码
     * @param mediaName     语音文件名称
     * @param schedule_send_time  预定短信发起时间
     * @param push_url		sessionid推送地址
     * @param tts_content	前导音
     * @param pool_ability_id	ISV自定义发起留言使用号码
     * @param batch_number	是否一批次
     * @param usePlatNbr	强制使用平台号
	 * @param calledJsonArray json数组格式
     * @return
     */
	public JSONObject sendAudeoNoticeV4(AppExtendBean appExtendBean, AccountBean accountBean, String userIdentify, String caller, String called, String mediaName, String schedule_send_time, String push_url, String tts_content,  String pool_ability_id,String batch_number, String usePlatNbr, JSONArray calledJsonArray, String voice_type);
	/**
	 * 重新发起语音短信
	 * @param appExtendBean 应用信息
	 * @param accountBean 账号信息
	 * @param userIdentify 用户标识
	 * @param voice_id 重发的信息的id
	 * @param caller 主叫号码
	 * @param called 被叫号码
	 * @param schedule_send_time 预定短信发起时间
	 * @param push_url 语音通信预约后，通信发起sessionid接收地址
	 * @param tts_content 前导音 如果设置前导音为-1，则使用之前的前导音如果前导音设置为空，则清空前导音
	 * @param pool_ability_id ISV自定义发起留言使用号码
	 * @param batch_number 是否一批次
	 * @param usePlatNbr 强制使用平台号
	 * @param calledJsonArray json数组格式
	 * @return
	 */
	public JSONObject sendAudeoNoticeLet(AppExtendBean appExtendBean, AccountBean accountBean, String userIdentify, String voice_id, String caller, String called,String schedule_send_time, String push_url, String tts_content, String pool_ability_id,String batch_number, String usePlatNbr, JSONArray calledJsonArray, String voice_type);
	/**
	 * 上传语音文件
	 * @param app_key
	 * @param cust_account
	 * @param fileAddress
	 * @param mediaName
	 * @return
	 */
	public JSONObject uploadFile(String app_key,String cust_account,String fileAddress,String mediaName,String content,String fileFullName);
	
}
